# coding=utf-8

import matplotlib.pyplot as plt


def load_image(path):
    # 加载图片并转换成矩阵。
    return plt.imread(path)


def matrix_slice(matrix, x, y, width, height, channel=None):
    """
    切片方法，从图片矩阵中切一其中的一小块。
    :param matrix: 源矩阵。
    :param x: 矩阵切片的开始位置的 x 坐标。
    :param y: 矩阵切片的开始位置的 y 坐标。
    :param width: 宽度。
    :param height: 高度。
    :param channel: 使用通道，默认则切片成 width X height X 3 的矩阵。
    :return:切片后的矩阵。
    """
    if channel is None:
        return matrix[y:y+height, x:x+width]

    return matrix[y:y+height, x:x+width, channel]


def show_image(matrix=None, channel=None):
    if channel is None:
        # 设置要显示的图片矩阵。
        plt.imshow(matrix)
    else:
        # 设置要显示的图片矩阵并选择 RGB 三个通道中的一个来显示图片。
        plt.imshow(matrix[0:matrix.shape[0], 0:matrix.shape[1], channel])

    # 显示图片。
    plt.show()


if __name__ == "__main__":
    pass
    # # 将图片转换成矩阵。
    # img = load_image("D:\\images\\壁纸\\9d5b103ff142e6d0c42feedfc0b6f905169c3ca6.jpg")
    # # print(img.matrix)
    # print(img.matrix[0:5, 0:10, 2])
    # print(img.slice(0, 0, 5, 5, 2))
    # m = img.slice(0, 0, 5, 5)
    # print(m[0:m.shape[0], 0:m.shape[1], 2])
    # img.show()


